Allow alphanumeric barcodes #44
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hello! We at Five Colleges are using a fork of an older version of Setae and I'd like to get us back onto the main version in anticipation of Sunflower. The biggest point of difference is that we can have alphanumeric+ barcodes like
569427-10-UMA.I've chosen to implement this as "take a string parameter and then validate with a regex" mainly because the barcode is passed directly to FOLIO as a query. This is fine when the barcode is limited to numbers but with strings someone could do something similar to a SQL injection like
https://setae-api.library.edu/items/*) and (malicious query?format=jsonto get raw information out of FOLIO they might not otherwise have permissions to.By default, if the regex environment variable is not set, it will maintain the existing behavior of only allowing an integer barcodes using a default
\d+regex.I've tested this running the docker container locally.